#!/usr/bin/env python
# -*- coding:utf-8 -*-
#__author__=v_zhangjunjie02
#学院信息在线管理(
#定一个学员列表
import pymysql
def Select_data():
    #建立数据库连接
    db=pymysql.connect(host="localhost",user="root",password="zhangjunjie")
    # 使用cursor()方法创建游标对象
    cursor = db.cursor()
    sql1 = 'use school'
    sql2 = 'select * from stu'
    try:
        cursor.execute(sql1)
        cursor.execute(sql2)
        #print("本次查询的条数为：", cursor.rowcount)
        datalist = cursor.fetchall()
        print("|{0:<5}|{1:<10}|{2:<5}|{3:<10}|".format('sid', 'name', 'age', 'classid'))
        for i in datalist:
            print("|{0:<5}|{1:<10}|{2:<5}|{3:<10}|".format(i[0], i[1], i[2], i[3]))

    except Exception as err:
        print("执行数据库错误，错误信息为", err)

    # 关闭数据库
    db.close()
def Insert_data(data):
    db = pymysql.connect(host='localhost', user='root', password='zhangjunjie')
    # 用cursor()方法创建游标对象
    cursor = db.cursor()
    # 定义添加的sql语句
    sql1 = 'use school'

    sql = "insert into stu(name,age,classid) values('%s','%d','%s')" % (data)
    try:
        # 使用cursor 执行sql语句
        cursor.execute(sql1)
        m = cursor.execute(sql)
        # 事物提交
        db.commit()
        # 成功执行的条数为
        print("成功执行的条数为", m)
    except Exception as err:
        # 事务回滚
        db.rollback()
        print("sql 执行错误，原因", err)
    # 关闭数据库
    db.close()
def Delete_data(id):
    db = pymysql.connect(host='localhost', user='root', password='zhangjunjie')
    # 使用cursor方法创建cursor对象
    cursor = db.cursor()
    # 执行的sql语句
    sql = 'use school'


    sql1 = "delete from stu where id='%d'"%id
    try:
        # 使用execute执行sql
        cursor.execute(sql)
        cursor.execute(sql1)
        # 事务题提交
        db.commit()
        print("成功删除的条数", cursor.rowcount)

    except Exception as err:
        # 事务回滚
        db.rollback()
        print("sql 执行错误，原因为", err)

    db.close()

# stulist=[
#     {'name':'张三','age':20,'classid':'python'},
#     {'name':'李四','age': 25,'classid':'java'},
#     {'name': '王五','age': 80,'classid': 'android'}
# ]
# def showstu(stulist):
#     if len(stulist)==0:
#         print("=========没有学院信息可以输出========")
#         return
#     print("|{0:<5}|{1:<10}|{2:<5}|{3:<10}|".format('sid','name','age','classid'))
#     print("-"*40)
#     for i in range(len(stulist)):
#         print("|{0:<5}|{1:<10}|{2:<5}|{3:<10}|".format(i+1, stulist[i]['name'], stulist[i]['age'], stulist[i]['classid']))



while True:
    print("=" * 14, "学院管理系统", "=" * 14)
    print("{0:1} {1:13} {2:15}".format(" ", "1. 查看学院管理信息", "2. 添加学院信息"))
    print("{0:1} {1:13} {2:18}".format(" ", "3. 删除学院信息", "4. 退出系统"))
    print("=" * 40)
    try:

        num=int(input("欢迎来到学员管理系统，请输入你要执行的操作。。。。"))
        if num == 1:
            print("="*12,"学员信息浏览","="*12)

            Select_data()
            input("按回车键继续。。")

        elif num == 2:
            print("=" * 12, "学员信息添加", "=" * 12)
            data1=[]
            data1.append(input("请输入要添加的名字....."))
            data1.append(int(input("请输入年龄.....")))
            data1.append(input("请输入班级....."))
            data=tuple(data1)
            Insert_data(data)
            print("=" * 12, "添加后的学员列表", "=" * 12)
            Select_data()
            input("按回车键继续。。")
            pass
        elif num == 3:
            print("=" * 12, "学员信息删除", "=" * 12)
            Select_data()
            id=int(input("请输入要删除的学员信息id"))
            Delete_data(id)
            print("=" * 12, "删除后的学员信息", "=" * 12)
            Select_data()
            input("按回车键继续。。")

        elif num == 4:
            print("=" * 12, "退出系统", "=" * 12)
            quit()

        else:
            input("输入错误，请重新输入")
    except ValueError:
        print("输入值类型错误")



